<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
</body>
</html>

<script>
// 单词：
  // extend - 延伸；延展

// 需求：用 ES6  实现， 对父类  原型方法 和 自有属性的继承


// 父类 - Person
class Person {
  constructor(name, height, weight) {
    this.name = name;
    this.height = height;
    this.weight = weight;
  }

  sayHi() {
    console.log(`你好，我叫~${this.name}`);
  }
}

// 1. 关键字：  extends
  // class 子类名 extends 父类名  作用：实现 原型继承
class Teacher extends Person {
  constructor(major, name, height, weight) {
    // 2. 关键字 super；
      // 作用：实现 借用继承
    super(name, height, weight);
      // 即： Person.call(this, name, height, weight); // 借用继承

    this.major = major;
  }
}



const laoSun = new Teacher('医学', '老孙', '169cm', '66kg');


// class 唯一的“缺点“：无法 「多重继承」

</script>